#define  _CRT_SECURE_NO_WARNINGS


#include<stdio.h>

//int main()
//{
//	int m = 0;
//	int n = 0;
//	scanf("%d %d", &m, &n);
//	int x = m;
//	int y = n;
//	int temp = 0;
//	if (m > n)
//	{
//		while (y != 0)
//		{
//			temp = x % y;
//			x = y;
//			y = temp;
//		}
//		printf("%d\n", x);
//		printf("%d\n", m * n / x);
//	}
//	else
//	{
//		while (x != 0)
//		{
//			temp = y % x;
//			y = x;
//			x = temp;
//		}
//		printf("%d\n", y);
//		printf("%d\n", m * n / y);
//	}
//
//	return 0;
//}\]

#include<string.h>


//int main()
//{
//	char arr[100] = { 0 };
//	gets(arr);
//	int arr1[4] = { 0 };
//	int i = 0;
//	int len = strlen(arr);
//	for (i = 0; i < len; i++)
//	{
//		if ((arr[i] >= 'a' && arr[i] <= 'z') || (arr[i] >= 'A' && arr[i] <= 'Z'))
//		{
//			arr1[0]++;
//		}
//		else if (arr[i] == ' ')
//		{
//			arr1[1]++;
//		}
//		else if (arr[i] >= '0' && arr[i] <= '9')
//		{
//			arr1[2]++;
//		}
//		else
//		{
//			arr1[3]++;
//		}
//	}
//	for (i = 0; i < 4; i++)
//	{
//		printf("%d\n", arr1[i]);
//	}
//
//	return 0;
//}''


//int main()
//{
//	double i = 0;
//	double j = 0;
//	double mul = 0;
//	double sum = 1;
//	for (i = 1; i <= 30; i++)
//	{
//		mul = 1;
//		for (j = 1; j <= i; j++)
//		{
//			mul *= (j + 1);
//		}
//		sum += mul;
//	}
//	printf("%.2e\n", sum);
//
//	return 0;
//}



int main()
{
	double i = 0;
	double j = 1;
	double sum = 0;
	for (i = 1; i <= 30; i++)
	{
		j *= i;
		sum += j;
	}
	printf("%.2e\n", sum);

	return 0;
}